// 什么是中间件？把用户从请求到响应中间的一系列处理环节，把它分步骤来处理，每一个步骤来做一件事，这个步骤就是中间处理环节

var http = require('http')
var url = require('url')

var cookie = require('./query')
var postBody = require('./post-body')
var query = require('./query')
var cookie = require('./cookies')


var server = http.createServer(function (req, res) {
    // 解析表单get请求体
    // 解析表单post 请求体
    // 解析Cookie
    // 处理seesion
    // 使用模板引擎
    console.log(req.query)
    console.log(req.body)
    console.log(req.cookies)
    console.log(req.session)

    // 解析请求地址中的get参数
    // var urlObj = url.parse(req.url, true)
    // req.query = urlObj.query
    query(req, res) // 这就是中间件，说白了就是个方法,必须写在前面

    // 解析请求地址中的post参数
    // req.body = {
    //     foo: 'bar'
    // }
    postBody(req, res) // 这就是中间件，说白了就是个方法,必须写在前面

    // 解析cookies
    // req.cookies = {
    //     isLogin: true
    // }
    cookie(req, res) // 这就是中间件，说白了就是个方法,必须写在前面

    // 配置seesion
    // req.session = {}
    session(req, res) // 这就是中间件，说白了就是个方法,必须写在前面

    // 配置模板引擎
    res.render = function () { }

    if (req.url === 'xxx') {
        // 处理
        // query body cookies seesion render Api成员
    } else if (url === 'yyy') {
        // 处理

    }
})

server.listen(3000, function () {
    console.log('3000. running...')
})
